package main

// 类型断言

import "fmt"

func main(){
	var a interface{}	// 定义一个空接口变量a

	a = 100
	// 如何判断a保存的值的具体类型是什么？
	// 类型断言
	// x.(T)
	v1, ok := a.(int8)
	if ok{
		fmt.Println("guess Ok, a is int8",v1)
	}else{
		fmt.Println("guess error, a is not int8")
	}


	// 2.switch
	switch v2 := a.(type){
	case int8:
		fmt.Println("int8", v2)
	case int16:
		fmt.Println("int16", v2)
	case string:
		fmt.Println("string", v2)
	case int:
		fmt.Println("int", v2)
	default:
		fmt.Println("gun")
	}
}
